Registre d'estat

Un registre d'estat, registre de senyal o registre de codi de condició (CCR) és una col·lecció de bits de senyal d'estat per a un processador. Alguns exemples d'aquests registres inclouen el registre FLAGS a l'arquitectura x86, els indicadors al registre de paraula d'estat del programa (PSW) a l'arquitectura IBM System/360 a través de z/Architecture i el registre d'estat del programa d'aplicació (APSR) a l'arquitectura ARM Cortex-A.[1]

El registre d'estat és un registre de maquinari que conté informació sobre l'estat del processador. Els bits individuals són llegits i/o escrits implícitament o explícitament per les instruccions del codi màquina que s'executen al processador. El registre d'estat permet que una instrucció prengui accions depenent del resultat d'una instrucció anterior.[2]

Normalment, els indicadors del registre d'estat es modifiquen com a efectes d'operacions aritmètiques i de manipulació de bits. Per exemple, es pot establir un bit Z si el resultat de l'operació és zero i esborrar si és diferent de zero. Altres classes d'instruccions també poden modificar els indicadors per indicar l'estat. Per exemple, una instrucció de cadena pot fer-ho per indicar si la instrucció s'ha acabat perquè ha trobat una coincidència/no coincidència o perquè ha trobat el final de la cadena. Els indicadors són llegits per una instrucció condicional posterior de manera que l'acció especificada (depenent del processador, un salt, una trucada, un retorn, o així successivament) només es produeix si els indicadors indiquen un resultat especificat de la instrucció anterior.

Algunes arquitectures de CPU, com ara MIPS i Alpha, no utilitzen un registre de senyalador dedicat. Altres no estableixen i/o llegeixen senyals implícitament. Aquestes màquines no passen informació d'estat implícita entre instruccions, o bé la passen en un registre de propòsit general seleccionat explícitament.

Sovint, un registre d'estat també pot tenir altres camps, com ara senyals més especialitzats, bits d'habilitació d'interrupció i tipus d'informació similars. Durant una interrupció, l'estat del fil que s'està executant actualment es pot conservar (i recuperar-lo més tard) emmagatzemant el valor actual del registre d'estat juntament amb el comptador del programa i altres registres actius a la pila de la màquina o alguna altra àrea reservada de memòria.[3]

  1. «ARM Information Center» (en anglès). infocenter.arm.com. http://infocenter.arm.com.+[Consulta: 18 maig 2019].
  2. «Status Register - an overview | ScienceDirect Topics» (en anglès). https://www.sciencedirect.com.+[Consulta: 1r setembre 2023].
  3. «General Purpose Registers» (en anglès americà). https://www.geeksforgeeks.org,+25-11-2022.+[Consulta: 1r setembre 2023].

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search